The present invention relates generally to communications systems and, more specifically, to web-based call center systems.
Call centers are commonly employed in businesses which process a large number of incoming calls. Airlines utilize call centers to provide flight information for arriving and departing flights and to process ticket purchases for customers over the phone. Home mortgage firms employ call centers to provide information to prospective customers and to provide refinancing information to current customers. Additionally, consumer retail companies often use call centers to process purchase orders and to provide technical support to answer customer questions.
Conventional call centers generally include one or more Private Branch Exchanges (PBXs) to connect multiple agents to incoming callers. An Automatic Call Distributor (ACD) of the PBX automatically routes incoming calls to available agents. If an incoming call is received at a time when all of the agents are handling incoming calls, the ACD places the call on hold until an agent becomes available, at which point the ACD routes the call to the available agent. To increase the capacity of the system to handle a greater volume of calls, additional PBXs and agents can be added to the call center.
Call centers provide the benefit of handling large volumes of incoming calls efficiently. Furthermore, routing schemes have been developed to ensure that incoming calls are directed to the appropriate agents. For example, the call center agents can be divided into two groups having different areas of expertise, where a first group is trained for processing purchase orders and a second group is trained to provide product support. An Interactive Voice Response (IVR) unit can be incorporated into the call center to identify the subject matter for each of the incoming calls. Upon connecting to the call center, the IVR presents a caller with the option of being routed to a call center agent to complete a purchase order or to receive technical assistance. A higher level of routing specificity can be achieved by presenting the caller with options regarding the type of technical support that is desired. U.S. Pat. No. 5,825,869 to Brooks et al. describes a skills-based system for routing a call to an appropriately skilled ACD agent. The ACD responds to selections made by the caller by connecting the caller to one of the agents in the appropriate expert group. In this manner, the caller is efficiently connected to a qualified agent without requiring one of the agents to assess the requirements of the call and transfer the caller to the appropriate agent.
However, the problem for which a caller requires assistance is often not amenable to solution over a standard telephone call. For example, if a caller is attempting a complicated operation, such as a repair or an upgrade for a component of a computer system, receiving instructions over the telephone can be tedious and inefficient. The process through which the caller must navigate to perform the operation can be difficult to describe verbally. As a result, the caller might make errors which result in substantial delays in solving the problem. Additionally, the caller might have to put the phone down while attempting to carry out the instructions of the agent. This can result in the agent spending a significant amount of time waiting while the caller performs various operations. Alternatively, the caller can disconnect from the call center while he or she attempts to carry out the instructions from the agent, and call back if the caller requires further instructions. This alternative results in the caller wasting time calling back the call center. The delay becomes even more objectionable if, after the caller disconnects from the call center, the agent receives another incoming call. The caller will either have to begin again with a second call center agent by re-explaining the entire problem to the second agent, or the caller will have to wait until the first agent becomes available again.
What is needed is a call center and a method for utilizing the call center to enable customers and agents to exchange information for solving sophisticated problems in a manner that overcomes the above-described limitations.
A method for operating a call center includes enabling annotation capabilities and includes the steps of recording a particular sequence of multimedia actions on a first document and transmitting the sequence of multimedia actions to a second terminal as a part of either a callback request or a response to a callback request. The recorded sequence of multimedia actions performed on the first document constitutes a dynamic annotation of the first document. The dynamic annotation can include recording voice and/or video information synchronized with other forms of information, such as the manipulation of images, video, and/or text.
In a preferred embodiment, the call center is a web-based call center coupled to a call center agent terminal and a customer terminal. Multiple documents, for example web pages, are formatted to enable capture of the dynamic annotations performed on the web pages. The formatted web pages are then stored in a web server. The formatting process enables capture of user-generated multimedia actions utilizing plug-in annotation software and a web browser which is not designed for dynamic annotation, for example a standard commercial browser. Code which is inserted into a web document during formatting captures the user-generated multimedia actions during an annotation session and passes them to the plug-in software for storage and rendering. The capture of the multimedia actions occurs in a nonintrusive fashion in that the underlying HTML code of the web page is unaltered and the operation navigation function of the web browser is not affected by the capture of the multimedia actions. The multimedia actions include recording user-generated hyperlink traversals, text, drawings, pointer gestures, voice information, and video information synchronized with manipulation of voice objects, video objects, text objects, and image objects within the web pages.
In a specific embodiment, the call center agent obtains at least one of the formatted web pages from the web server and enters dynamic annotations into the formatted web pages in response to a callback request received from the customer terminal. The dynamic annotations (either in isolation or in combination with the web pages) are transmitted to an annotation server as part of the response to the callback request. The agent terminal informs the customer terminal of the presence of the annotated web pages on the annotation server by, for instance, transmitting an e-mail message which contains the Universal Resource Locator (URL) of the annotated web pages on the annotation server. As an alternative to storing the annotated web pages in their entirety, data representing the annotation can be stored at the annotation server independently of the underlying web pages. The annotation data can be downloaded by the customer terminal as an annotation overlay. Access to the dynamic annotations can be restricted by requiring a password for access.
In a another specific embodiment, the customer terminal enters the dynamic annotations on the formatted web pages, and the annotated web page is transmitted as a callback request. The dynamic annotation can be performed while the customer terminal is navigating through formatted web pages located on a call center web server. The dynamically annotated web pages are submitted to the annotation server for subsequent access by the agent terminal. An ACD connected to the annotation server routes the annotated web pages to the agent terminal. In the preferred embodiment, the ACD performs a skills-based analysis of the annotated web pages to determine a set of skills which an agent preferably possesses to process the callback request. The routing of the callback request is performed in response to a correlation of the skills set associated with the callback request to the skills sets associated with various call center agents.
In yet another embodiment, the exchange of dynamic annotation data between the agent terminal and the customer terminal occurs within a data sharing session. After the customer terminal has transmitted a callback request, the agent terminal can initiate the data sharing session by enabling its web browser and annotation plug-in software and by requesting the customer terminal to activate its web browser and annotation plug-in software. Alternatively, the customer terminal can initiate the data sharing session in the same manner. The agent terminal proceeds to dynamically annotate one or more formatted web pages by adding text, graphics, freehand drawings, video, and/or voice overlays onto the web pages. Instead of locally saving the dynamic annotation session at the agent terminal and then uploading it onto the annotation server for subsequent access by the customer terminal, the agent terminal streams the user actions comprising the dynamic annotation data through the annotation server to the customer terminal. The various multimedia components of the dynamic annotation data (voice, video, text, freehand drawings) are all synchronized at the customer terminal prior to presentation to the customer. The process is performed in the same fashion if the customer terminal is generating the annotation data. Alternatively, the data sharing session can occur without activating the plug-in software in the customer and agent terminals. In this alternative embodiment, the user-generated multimedia actions are submitted to the annotation server which utilizes plug-in software to process the user-generated multimedia actions before streaming them out to one of the terminals.
In other embodiments, the annotation server system is utilized for educational purposes to provide professional training or academic instruction. For example, a student can receive review of an assignment in the form of a dynamically annotated version of the assignment generated at a teacher""s terminal.